package com.ypd.shop.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;

import com.ypd.common.annotation.Excel;
import com.ypd.common.core.domain.BaseEntity;

/**
 * 店铺管理对象 tb_properties
 * 
 * @author lin
 * @date 2025-02-28
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Properties extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long propertyId;

    /** 外键，关联用户表 */
    @Excel(name = "外键，关联用户表")
    private Long userId;

    /** 标题 */
    @Excel(name = "标题")
    private String title;

    /** 照片(第一张默认标题展示) */
    @Excel(name = "照片(第一张默认标题展示)")
    private String image;

    /** 详细描述 */
    @Excel(name = "详细描述")
    private String description;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 建筑面积(平方米) */
    @Excel(name = "建筑面积(平方米)")
    private BigDecimal buildingArea;

    /** 租金(元/月) */
    @Excel(name = "租金(元/月)")
    private BigDecimal rent;

    /** 租赁状态（出租0/装让/已完成3/下架4） */
    @Excel(name = "租赁状态", readConverterExp = "出=租0/装让/已完成3/下架4")
    private Long rentalStatus;

    /** 联系电话(冗余字段,避免没必要的多表查询) */
    @Excel(name = "联系电话(冗余字段,避免没必要的多表查询)")
    private String contactPhone;

    /** 转让费(只有装让状态才有) */
    @Excel(name = "转让费(只有装让状态才有)")
    private BigDecimal transferFee;

    /** 押付形式(押,付) */
    @Excel(name = "押付形式(押,付)")
    private String paymentTerms;

    /** 剩余租期(不填,或者0表示是房主)(单位:月) */
    @Excel(name = "剩余租期(不填,或者0表示是房主)(单位:月)")
    private Long remainingTerm;

    /** 商铺性质 */
    @Excel(name = "商铺性质")
    private Long propertyNature;

    /** 商铺类型 */
    @Excel(name = "商铺类型")
    private Long propertyType;

    /** 经营类型 */
    @Excel(name = "经营类型")
    private Long businessType;

    /** 楼层(几到几,总层数) */
    @Excel(name = "楼层(几到几,总层数)")
    private String floor;

    /** 规格(面宽,层高,进深) */
    @Excel(name = "规格(面宽,层高,进深)")
    private String specification;

    /** 客流人群(多选) */
    @Excel(name = "客流人群(多选)")
    private String customerFlow;

    /** 相关费用(物业费,水费,电费) */
    @Excel(name = "相关费用(物业费,水费,电费)")
    private String relatedCosts;

    /** 商铺配套(对应前端的字典) */
    @Excel(name = "商铺配套(对应前端的字典)")
    private String propertySupport;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdTime;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedTime;

    /** 联系人 */
    @Excel(name = "联系人")
    private String contact;



}
